package com.xoa.controller.supervision;


import com.xoa.model.supervision.SupervisionType;
import com.xoa.service.supervision.SupervisionTypeService;
import com.xoa.util.ToJson;
import com.xoa.util.treeUtil.TreeGirdNode;
import com.xoa.util.treeUtil.TreeNode;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;

import javax.servlet.http.HttpServletRequest;

/**
 * Created by 张丽军 on 2017/7/28.
 * 数据接口控制器
 */
@RestController
@RequestMapping("/supervisionType")
public class SupervisionTypeController {
    @Autowired
    SupervisionTypeService supervisionTypeService;



    /**
     * 创建作者:   张丽军
     * 创建日期:   2017年7月28日 下午15:30:00
     * 方法介绍:   督办分类详情查询根据sid(**********)
     * 参数说明:   @param sid
     * 参数说明:   @return
     * @param request
     * @param sid
     * @return
     */
    @ResponseBody
    @RequestMapping("/getSupervisionTypeDetail")
    public ToJson<SupervisionType> getSupervisionTypeDetail(HttpServletRequest request, Integer sid){
        return supervisionTypeService.getSupervisionTypeDetail(request,sid);
    }

    /**
     * 创建作者:   张丽军
     * 创建日期:   2017年7月29日 上午10:30:00
     * 方法介绍:   督办分类修改接口(*********)
     * @param request
     * @param supervisionType
     * @return
     */
    @ResponseBody
    @RequestMapping("/updateSupervisionType")
    public ToJson<SupervisionType> updateSupervisionType(HttpServletRequest request,SupervisionType supervisionType){
        return supervisionTypeService.updateSupervisionType(request,supervisionType);
    }
    /**
     * 创建作者:   张丽军
     * 创建日期:   2017年7月29日 上午10:30:00
     * 方法介绍:   督办分类新建接口(**********)
     * @param request
     * @param supervisionType
     * @return
     */
    @ResponseBody
    @RequestMapping("/addSupervisionType")
    public ToJson<SupervisionType> addSupervisionType(HttpServletRequest request,SupervisionType supervisionType){
    	if(supervisionType.getParentId()==-1){
    		supervisionType.setParentId(0);
    	}
        return supervisionTypeService.addSupervisionType(request,supervisionType);
    }

    /**
     ** 创建作者:   张丽军
     * 创建日期:   2017年7月29日 上午10:30:00
     * 方法介绍:   督办分类删除接口(***********)
     * @param sid
     * @return
     */
    @ResponseBody
    @RequestMapping("/deleteSupervisionTypeBySid")
    public ToJson<SupervisionType> deleteSupervisionTypeBySid(Integer sid){
        return supervisionTypeService.deleteSupervisionTypeBySid(sid);
    }

    /**
     ** 创建作者:   张丽军
     * 创建日期:   2017年7月29日 上午10:30:00
     * 方法介绍:   督办分类查询列表接口(*********)
     * @param supervisionType
     * @param request
     * @return
     */
    @ResponseBody
    @RequestMapping("/getSupervisionTypeList")
    public ToJson<SupervisionType> getSupervisionTypeList(SupervisionType supervisionType,HttpServletRequest request,Integer page, Integer pageSize, Boolean useFlag){
        return supervisionTypeService.getSupervisionTypeList(supervisionType,request,page,pageSize,useFlag);
    }
    /**
     ** 创建作者:   张丽军
     * 创建日期:   2017年7月29日 上午10:30:00
     * 方法介绍:   督办任务分类管理(树形结构)(*************)
     * @param
     * @param request
     * @return
     */
    @ResponseBody
    @RequestMapping("/getSupTypeList")
    public ToJson<TreeGirdNode> getSupTypeList(HttpServletRequest request){
        return supervisionTypeService.getSupTypeList(request);

    }

    /**
     * 创建作者：张丽军
     * 创建日期：2017-08-03
     * 方法介绍：督办新建里下拉列表（分类名称下拉）（*************）
     * @param request
     * @param supervisionType
     * @return
     */

    @ResponseBody
    @RequestMapping("/getSupNameSelect")
    public ToJson<SupervisionType> getSupNameSelect(HttpServletRequest request,SupervisionType supervisionType){
        return supervisionTypeService.getSupNameSelect(request,supervisionType);
    }

}

